/*
 * Copyright (c) 2025 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include "ActScapiStartSelfUiAbilityTest20Test.h"
#include <js_native_api.h>
#include <js_native_api_types.h>
#include <node_api.h>

napi_property_descriptor desc[] = {
    {"DestroyChildProcessConfigsParamInvalid",
        nullptr, DestroyChildProcessConfigsParamInvalid, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"DestroyChildProcessConfigsNoError",
        nullptr, DestroyChildProcessConfigsNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ChildProcessConfigsSetIsolationModeInvalidParam",
        nullptr, ChildProcessConfigsSetIsolationModeInvalidParam, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ChildProcessConfigsSetIsolationModeNoError",
        nullptr, ChildProcessConfigsSetIsolationModeNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ChildProcessConfigsSetProcessNameInvalidParam",
        nullptr, ChildProcessConfigsSetProcessNameInvalidParam, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ChildProcessConfigsSetProcessNameNoError",
        nullptr, ChildProcessConfigsSetProcessNameNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"RegisterNativeChildProcessExitCallbackNoError",
        nullptr, RegisterNativeChildProcessExitCallbackNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"RegisterNativeChildProcessExitCallbackInvPar", nullptr,
        RegisterNativeChildProcessExitCallbackInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"UnregisterNativeChildProcessExitCallbackNoError",
        nullptr, UnregisterNativeChildProcessExitCallbackNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"UnregisterNativeChildProcessExitCallbackInvPar", nullptr,
        UnregisterNativeChildProcessExitCallbackInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"UnregisterNativeChildProcessExitCallbackNotExist", nullptr,
        UnregisterNativeChildProcessExitCallbackNotExist, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"DestroyWantNoError",
        nullptr, DestroyWantNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetWantElementNoError",
        nullptr, SetWantElementNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetWantElementNoError",
        nullptr, GetWantElementNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetWantCharParamNoError",
        nullptr, SetWantCharParamNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetWantCharParamNoError",
        nullptr, GetWantCharParamNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AddWantFdNoError",
        nullptr, AddWantFdNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetWantUriNoError",
        nullptr, SetWantUriNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetWantUriNoError",
        nullptr, GetWantUriNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetWantInt32ParamNoError",
        nullptr, SetWantInt32ParamNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetWantInt32ParamNoError",
        nullptr, GetWantInt32ParamNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetWantBoolParamNoError",
        nullptr, SetWantBoolParamNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetWantBoolParamNoError",
        nullptr, GetWantBoolParamNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetWantDoubleParamNoError",
        nullptr, SetWantDoubleParamNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetWantDoubleParamNoError",
        nullptr, GetWantDoubleParamNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeAreaModeEl2Code",
        nullptr, AbilityRuntimeAreaModeEl2Code, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeAreaModeEl3Code",
        nullptr, AbilityRuntimeAreaModeEl3Code, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeAreaModeEl4Code",
        nullptr, AbilityRuntimeAreaModeEl4Code, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeAreaModeEl5Code",
        nullptr, AbilityRuntimeAreaModeEl5Code, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeHideUponStartCode",
        nullptr, AbilityRuntimeHideUponStartCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"DestroyStartOptionsNoError",
        nullptr, DestroyStartOptionsNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsWindowModeNoError",
        nullptr, SetStartOptionsWindowModeNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsWindowModeNoError",
        nullptr, GetStartOptionsWindowModeNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsDisplayIdNoError",
        nullptr, SetStartOptionsDisplayIdNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsDisplayIdParamInvalid",
        nullptr, SetStartOptionsDisplayIdParamInvalid, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsDisplayIdNoError",
        nullptr, GetStartOptionsDisplayIdNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsWithAnimationNoError",
        nullptr, SetStartOptionsWithAnimationNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsWithAnimationNoError",
        nullptr, GetStartOptionsWithAnimationNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsWindowLeftNoError",
        nullptr, SetStartOptionsWindowLeftNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsWindowLeftNoError",
        nullptr, GetStartOptionsWindowLeftNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsWindowTopNoError",
        nullptr, SetStartOptionsWindowTopNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsWindowTopNoError",
        nullptr, GetStartOptionsWindowTopNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsWindowHeightNoError",
        nullptr, SetStartOptionsWindowHeightNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsWindowHeightNoError",
        nullptr, GetStartOptionsWindowHeightNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsWindowWidthNoError",
        nullptr, SetStartOptionsWindowWidthNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsWindowWidthNoError",
        nullptr, GetStartOptionsWindowWidthNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsStartVisibilityNoError",
        nullptr, SetStartOptionsStartVisibilityNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsStartVisibilityNoError",
        nullptr, GetStartOptionsStartVisibilityNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsStartWindowIconNoError",
        nullptr, SetStartOptionsStartWindowIconNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsStartWindowIconNoError",
        nullptr, GetStartOptionsStartWindowIconNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsStartWindowBackgroundColorNoError", nullptr,
        SetStartOptionsStartWindowBackgroundColorNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsStartWindowBackgroundColorNoError", nullptr,
        GetStartOptionsStartWindowBackgroundColorNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsSupportedWindowModesNoError",
        nullptr, SetStartOptionsSupportedWindowModesNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsSupportedWindowModesNoError",
        nullptr, GetStartOptionsSupportedWindowModesNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsMinWindowWidthNoError",
        nullptr, SetStartOptionsMinWindowWidthNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsMinWindowWidthNoError",
        nullptr, GetStartOptionsMinWindowWidthNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsMaxWindowWidthNoError",
        nullptr, SetStartOptionsMaxWindowWidthNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsMaxWindowWidthNoError",
        nullptr, GetStartOptionsMaxWindowWidthNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsMinWindowHeightNoError",
        nullptr, SetStartOptionsMinWindowHeightNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsMinWindowHeightNoError",
        nullptr, GetStartOptionsMinWindowHeightNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsMinWindowHeightParamInvalid",
        nullptr, GetStartOptionsMinWindowHeightParamInvalid, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"SetStartOptionsMaxWindowHeightNoError",
        nullptr, SetStartOptionsMaxWindowHeightNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"GetStartOptionsMaxWindowHeightNoError",
        nullptr, GetStartOptionsMaxWindowHeightNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"CreateNativeChildProcessNoError",
        nullptr, CreateNativeChildProcessNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"CreateNativeChildProcessInvalidParam",
        nullptr, CreateNativeChildProcessInvalidParam, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"CreateNativeChildProcessWithConfigsNoError",
        nullptr, CreateNativeChildProcessWithConfigsNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"CreateNativeChildProcessWithConfigsInvalidParam",
        nullptr, CreateNativeChildProcessWithConfigsInvalidParam, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartNativeChildProcessNoError",
        nullptr, StartNativeChildProcessNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartNativeChildProcessInvalidParam",
        nullptr, StartNativeChildProcessInvalidParam, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartNativeChildProcessWithConfigsNoError",
        nullptr, StartNativeChildProcessWithConfigsNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartNativeChildProcessWithConfigsInvalidParam",
        nullptr, StartNativeChildProcessWithConfigsInvalidParam, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"CreateNativeChildProcessLibLoadingFailed",
        nullptr, CreateNativeChildProcessLibLoadingFailed, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartNativeChildProcessWithConfigsServiceError",
        nullptr, StartNativeChildProcessWithConfigsServiceError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityInstanceKeyNotSupport",
        nullptr, StartSelfUIAbilityInstanceKeyNotSupport, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityWithStartOptionsInstanceKeyNotSupport", nullptr,
        StartSelfUIAbilityWithStartOptionsInstanceKeyNotSupport, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityNoError",
        nullptr, StartSelfUIAbilityNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityWithStartOptionsNoError",
        nullptr, StartSelfUIAbilityWithStartOptionsNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityUpperLimitReached",
        nullptr, StartSelfUIAbilityUpperLimitReached, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityWithStartOptionsUpperLimitReached",
        nullptr, StartSelfUIAbilityWithStartOptionsUpperLimitReached, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityWithStartOptionsNoSuchAbility",
        nullptr, StartSelfUIAbilityWithStartOptionsNoSuchAbility, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityWithStartOptionsCodeCrossApp",
        nullptr, StartSelfUIAbilityWithStartOptionsCodeCrossApp, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityWithStartOptionsCodeInternal",
        nullptr, StartSelfUIAbilityWithStartOptionsCodeInternal, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityWithStartOptionsInvalidAppInstanceKey", nullptr,
        StartSelfUIAbilityWithStartOptionsInvalidAppInstanceKey, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"StartSelfUIAbilityWithStartOptionsVisibilitySettingDisabled", nullptr,
        StartSelfUIAbilityWithStartOptionsVisibilitySettingDisabled, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetCacheDirNoError",
        nullptr, ApplicationContextGetCacheDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetCacheDirInvPar",
        nullptr, ApplicationContextGetCacheDirInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetAreaModeNoError",
        nullptr, ApplicationContextGetAreaModeNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetAreaModeInvPar",
        nullptr, ApplicationContextGetAreaModeInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetBundleNameNoError",
        nullptr, ApplicationContextGetBundleNameNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetBundleNameInvPar",
        nullptr, ApplicationContextGetBundleNameInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetTempDirNoError",
        nullptr, ApplicationContextGetTempDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetTempDirInvPar",
        nullptr, ApplicationContextGetTempDirInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetFilesDirNoError",
        nullptr, ApplicationContextGetFilesDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetFilesDirInvPar",
        nullptr, ApplicationContextGetFilesDirInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetDatabaseDirNoError",
        nullptr, ApplicationContextGetDatabaseDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetDatabaseDirInvPar",
        nullptr, ApplicationContextGetDatabaseDirInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetPreferencesDirNoError",
        nullptr, ApplicationContextGetPreferencesDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetPreferencesDirInvPar",
        nullptr, ApplicationContextGetPreferencesDirInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetBundleCodeDirNoError",
        nullptr, ApplicationContextGetBundleCodeDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetBundleCodeDirInvPar",
        nullptr, ApplicationContextGetBundleCodeDirInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetDistributedFilesDirNoError",
        nullptr, ApplicationContextGetDistributedFilesDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetDistributedFilesDirInvPar",
        nullptr, ApplicationContextGetDistributedFilesDirInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetCloudFileDirNoError",
        nullptr, ApplicationContextGetCloudFileDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetCloudFileDirInvPar",
        nullptr, ApplicationContextGetCloudFileDirInvPar, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetResourceDirNoError",
        nullptr, ApplicationContextGetResourceDirNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"NcpErrorInvalidParamCode",
        nullptr, NcpErrorInvalidParamCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"NcpErrorServiceErrorCode",
        nullptr, NcpErrorServiceErrorCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"NcpErrorLibLoadingFailedCode",
        nullptr, NcpErrorLibLoadingFailedCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"NcpErrCallBackNotExistCode",
        nullptr, NcpErrCallBackNotExistCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityBaseErrorCodeNoErrorCode",
        nullptr, AbilityBaseErrorCodeNoErrorCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityBaseErrorCodeParamInvalidCode",
        nullptr, AbilityBaseErrorCodeParamInvalidCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeErrorCodeNoSuchAbilityCode",
        nullptr, AbilityRuntimeErrorCodeNoSuchAbilityCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeErrorCodeCrossAppCode",
        nullptr, AbilityRuntimeErrorCodeCrossAppCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeErrorCodeInternalCode",
        nullptr, AbilityRuntimeErrorCodeInternalCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeErrorVisibilitySettingDisabledCode",
        nullptr, AbilityRuntimeErrorVisibilitySettingDisabledCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeErrorCodeInvalidAppInstanceKeyCode",
        nullptr, AbilityRuntimeErrorCodeInvalidAppInstanceKeyCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeErrorCodeUpperLimitReachedCode",
        nullptr, AbilityRuntimeErrorCodeUpperLimitReachedCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"AbilityRuntimeErrorAppInstanceKeyNotSupportCode",
        nullptr, AbilityRuntimeErrorAppInstanceKeyNotSupportCode, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetVersionCodeNoError",
        nullptr, ApplicationContextGetVersionCodeNoError, nullptr, nullptr, nullptr, napi_default, nullptr},
    {"ApplicationContextGetVersionCodeParamInvalid",
        nullptr, ApplicationContextGetVersionCodeParamInvalid, nullptr, nullptr, nullptr, napi_default, nullptr}
};

EXTERN_C_START
static napi_value Init(napi_env env, napi_value exports)
{
    napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
    return exports;
}
EXTERN_C_END

static napi_module demoModule = {
    .nm_version = 1,
    .nm_flags = 0,
    .nm_filename = nullptr,
    .nm_register_func = Init,
    .nm_modname = "entry",
    .nm_priv = ((void *)0),
    .reserved = {0},
};

extern "C" __attribute__((constructor)) void RegisterModule(void) { napi_module_register(&demoModule); }

